package com.ssfeng.youxia.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author liyuhang
 * @since 2020-04-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("youxia_user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Long userId;

    /**
     * 名称
     */
    private String name;

    /**
     * 密码
     */
    private String password;

    /**
     * wx openid
     */
    private String openid;

    /**
     * 用户是否订阅该公众号标识，值为0时，代表此用户没有关注该公众号，拉取不到其余信息
     */
    private Integer subscribe;

    /**
     * 用户的昵称
     */
    private String wxNickname;

    /**
     * 用户的性别，值为1时是男性，值为2时是女性，值为0时是未知
     */
    private Integer sex;

    /**
     * 登录状态  值为0时正常状态，值为1时禁止登录
     */
    private Integer status;

    /**
     * 用户所在区域
     */
    private String district;

    /**
     * 用户所在城市
     */
    private String city;

    /**
     * 用户所在国家
     */
    private String country;

    /**
     * 用户所在省份
     */
    private String province;

    /**
     * 用户的语言，简体中文为zh_CN
     */
    private String language;

    /**
     * 用户头像，最后一个数值代表正方形头像大小（有0、46、64、96、132数值可选，0代表640*640正方形头像），用户没有头像时该项为空。若用户更换头像，原有头像URL将失效。
     */
    private String wxHeadimgurl;

    /**
     * 用户关注时间，为时间戳。如果用户曾多次关注，则取最后关注时间
     */
    private LocalDateTime subscribeTime;

    private String unionid;

    private String remark;

    private String cityId;

    private String provinceId;

    private String districtId;

    private String address;

    @TableField("qiniuAccessKey")
    private String qiniuAccessKey;

    @TableField("qiniuBucket")
    private String qiniuBucket;

    @TableField("qiniuDomain")
    private String qiniuDomain;

    @TableField("qiniuSecretKey")
    private String qiniuSecretKey;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 身份证号
     */
    private String cardId;

    /**
     * 公众号id
     */
    private String appid;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 用户加入时间
     */
    private LocalDateTime createTime;

    /**
     * 生日
     */
    private LocalDate birthday;


}
